#ifndef __VERSION_H__
#define __VERSION_H__

#include "stdint.h"
#include "stddef.h"

typedef struct _SoftwareVersion {
	uint8_t SfVers[16];
	uint8_t SfBuildVers[16];
	char SfCompileDateTime[32];
	uint8_t SfOtherInfo[64];
} SoftwareVersion;

typedef struct _HardwareVersion {
	uint8_t HdVers[16];
	uint8_t HdBuildVers[16];
	char HdProductDateTime[32];
	uint8_t HdOtherInfo[64];
} HardwareVersion;

typedef struct _ProductInfo {
	uint8_t ProductNum[64];
	uint8_t ProductName[64];
} ProductInfo;

typedef struct _OtherInfo {
	uint8_t ReservedInfo1[64];
	uint8_t ReservedInfo2[64];
} OtherInfo;

typedef struct _Version{
	SoftwareVersion sfv;
	HardwareVersion hdv;	//this hardware version
	ProductInfo pro_info;
	OtherInfo rsv_info;
} LocalMachineVersion;

extern const LocalMachineVersion LclMchVers;

void InitAppMachineVersion(void);
LocalMachineVersion* GetAppMachineVersion(void);
#endif



